|
|
maodeng 发表于 2013-1-28 13:13 6 {+ v8 \0 n, ~) F4 K$ W
. hello 300236
, u' F' l" \& u" hstatement out of context
" i1 a/ ], l3 K% S z/ Cr(119);
0 u1 ?: e* Z `1 ?抱歉,最近太忙了
/ O4 Z2 R; P' h- |- L" B c
) h& O) a- `* K, C2 N) ]300236 我用下面的程序试过,没问题
9 L3 y: k+ [) a& _! y$ U4 i
1 U1 g3 c8 S. f( ~你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试! x! C9 j I& h! t# A, ` `
0 V5 t5 _9 `: Y9 a% q) T+ Icapture program drop hello
& a$ w" c& ^* J$ ~$ ^6 M7 I% z' G H9 i" s* E
program hello
: r- M2 B) J9 W3 v2 H6 k5 t4 b o6 x& [$ c+ l
quietly {% c2 g2 S, o" a
- y5 M4 U8 ~' l: a/ A. kclear8 q! T- d7 L, q2 T: [* y
1 L6 h6 r N; \& p8 L# scd D:\stock\test\source
' n$ j8 M4 v, v% \: x3 Y/ N& }( q" d* D5 R; u" ]. h Q/ I
insheet using `1'.txt
6 x; b' G( F& _4 ?! h% D
: ?+ ^' [' e3 ~. a. u keep if v5>0
+ i( e% C& e" j! V , n P/ e6 U( o% C ]
gen vt=_n, c' h, l( @* ?; E" t+ l
7 j+ I( U3 O9 K' I tsset vt
- U5 J3 u6 y8 }" b
: z X. g/ l$ l$ E% g gen zf=D1.v5
# n. g; H& J# P
6 C2 I9 H0 X$ m& |% @) u gsort -v1
Y, M9 h2 H' |2 R6 l0 J# \# y+ Z p3 O! {3 i1 Y0 y
gen avol=v7/v5
! T2 @& I4 C0 O ~6 l ; c) T! _* \1 \3 m5 d3 u. c9 ]/ y5 q& o
keep if avol>0# z' E6 X! k2 B
$ ~1 l+ ]8 W. L drop vt
* P3 y9 b( d0 | t
$ \5 _0 @* D" H gen vt=_n V) S. c4 t& p1 V+ _+ [
' z, @0 m/ j4 z) ]5 w
tsset vt/ p0 M( F0 t( i& H, Y) Z: z
, G8 Q7 L5 O8 @3 }3 a sum v5 [aw =avol]
" a% \1 l4 ~% P9 \& J) f- O) W
& M; [+ S: v! Q gen amean=r(mean) in 1
: ?- h! D6 l0 K e ( p9 m5 q) r& Q0 T
* 总加权平均值 amean. S$ j, b. Y) [9 f% b2 K, o: C2 J: h
8 }/ {. m9 r# ~3 u : p5 i( ]* l" k3 p5 a+ u, F! @
keep in 1/240
% J' s+ W2 t% {8 N% |) R0 p2 I: Z) Q; t3 \
sum v5 [aw =avol]5 t/ }, C8 r0 ]8 f- `& N1 ]
, }; a4 Y0 w c- E; D
gen mean240=r(mean) in 18 W: Z" j8 x% z5 C! ]
% g" V6 c1 A/ Q8 [: y
*240加权平均值 mean240
' L& {+ ^0 ^5 s/ l
/ y: q+ n1 V" R set obs 500
2 `! j5 n0 {% k! a& O, | ' y ?2 K+ L6 Q( c6 v+ N, Y
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph$ p: N$ f* n# m( g* ]
( {: P5 }/ H' P- S# ~8 i *240 kdensity(dx240 dy240)
: e; e k( j9 O3 R; r5 P$ {1 ]$ I " Y$ d. H: @ B" G
sum dy240
# m+ G" l7 R4 Q; v9 r' o
7 N6 K/ a2 F" b( { gen yxis=r(max) in 1
* h, a* e s! S2 d; W/ J- Y% F
# K* @; E. T) G1 _5 A6 U gen yxis2=yxis/2
$ Q8 A$ a8 y. S( O$ Q
% }: T1 d, N$ ^ *yxis
" u! v& G- c8 p" N0 H 8 [* e' f4 E, B, h* @
gen dy240max=r(max)
W: o+ S+ z$ @( V
# j4 V T: @+ ] gen dy240minp=r(min)
( ~7 D: \- Q* K
8 A! C% B4 s _ gen vtt=_n) j8 ~; O' t$ J, V5 U) m
+ X8 V: T8 q/ C) j s tsset vtt9 E2 N @% @+ Z
: y0 k$ p% f3 Z) w
gen ddy240=D1.dy240/D1.dx240/ v8 \, _: ]4 U
3 ?2 p' m: Z( w9 i1 h8 A. E sum ddy240
V$ M$ V% U- ~, K8 U , o* P% d. [' D- t {% m y& U6 C
gen ddy240max=r(max)
0 @0 m6 Y4 G/ i9 }4 j l& I% J' F R! b 4 k5 d% o$ q0 W
gen ddy240min=r(min)# m$ \8 ^2 K3 }3 W* x- h0 Q! W. i
! i# z) p! h9 r% Q$ q r" X) ~ gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
9 h' |9 T* o' b1 B4 l8 `1 ^# q
+ m: A# a9 V- N5 b$ Q. _( n2 z3 E sum ddy240g: ~) h. T4 ^" J" Q# z
- a/ b h) [& M& d( K( [% }- A gen yxis3=r(min) in 1
% X" c4 h8 F0 U2 X
2 H( _) l$ p/ M: y gen yxis4=0 in 1
( Y3 @4 X. n( x2 }+ v) ]9 U3 B! h
* d+ s: q6 M, x% O0 S: g *ddy240g 7 z# H/ r2 [6 r( |% \9 P
1 e$ U1 ]1 P { ' O! a1 B2 w2 k$ E3 a
preserve - z1 c" O& y, ?1 R
, h1 J0 E' E, N2 ^# G0 l( L sum v5 [aw =avol]1 M! G; |0 L) I: V7 z4 C
5 C C2 F3 N: Y3 D$ I
keep if dx240<r(mean)
9 w: x$ N! r8 n1 u3 u / S y" r- K: x! F6 T$ e+ X8 M
sum ddy240
$ }6 P8 a& W+ W$ Q
5 f, x7 ?( \/ q" |! f$ D0 B if r(min)<0 {
2 ~2 R! G/ v' |4 [( r
- O8 O. N: y) d7 s) e7 C keep if ddy240<=0
u( @0 |2 Q$ g: w. V; p ( X) R: V1 M# p' } ~' F/ X$ A; |1 K, a
count
% P" M( A) M! ]5 w + h# T8 }/ v1 F8 `1 v' X, X& B3 j: |
if r(N)>2 {
) L% i7 W+ E" `/ N' L o" \3 s4 t' C' ?
pkexamine dx240 dy240: C1 F/ \5 k: N
! _3 ^3 y( r, ~; O0 K. j% P! h' s
local tempminp=r(tomc)
/ ]' f( Z$ P1 s" t$ | restore + {, h l4 u3 P* z7 |, @3 E- _! o0 [
}
8 k/ w/ @$ s: ^2 c5 H. @: [3 T3 Y9 |
6 v4 @5 ]3 }" }1 M7 p& Q B' I' E else {
) K0 D9 P* O4 a' Q
, u% C( b+ e- K+ ^ di "cannot find minp"
! @. P: r9 S* s2 \8 n
: y$ M/ ]7 m. z1 ^1 l9 o8 q0 L4 s restore 4 i7 a; T2 C5 g
sum dx240
( } B# O# p7 }9 [0 [; e2 S0 \/ _ local tempminp=r(mean)) l( L5 }) p( F8 b! N9 z
9 H/ k' \* Z! f2 U
}4 c# B q# g, D. G. `2 o/ ~3 ]
}
: Z! _3 F7 f7 v# t0 U0 Y5 ] else {
9 \: ?7 c; L8 a9 M0 G
4 F. {" q P, T7 e' C keep if ddy240<=r(min)
$ D. F8 n2 P4 ~
* |$ ]' o1 p( d4 m3 O. S sum dx240; {. N- E. h6 b' b- r
- E0 [0 ^1 S- B( _; [: Q local tempminp=r(min)
7 E: v5 d0 J. ~, m+ _, } restore
/ P/ v( P- J- v }
0 V7 c/ T" z3 o: z
$ h/ y! ^% ~& v, N+ a& Q7 @9 N# k$ i+ y3 W$ u
) a' E/ w3 J7 V C5 B7 N1 L( v gen minp=`tempminp' in 15 N; A" H; l& W; i
*240 minp
" ]2 ^ q# W7 F/ ^7 Q5 x
& H4 a% \9 }2 Y8 V- h
& }2 z0 c: @7 ~ 8 [* D! U3 P; s4 o4 p
preserve
. h+ N& ^) P6 P. ^# f: r % u# I+ P& K$ G
sum v5 [aw =avol]
. T! h# v8 {7 b5 _ ! E: L& _( c# x
keep if dx240>r(mean)4 ` d; U7 E% F3 } ~$ m5 B
. c+ P0 i! b. m2 w2 K; o2 Y" Z sum ddy240
! `# E. b+ ~" B3 X9 \; @6 Z , Y! D9 K; K& k) a% D7 N0 Z5 C
if r(max)>0 {9 _- Q0 l; D# a' a2 G+ {
* R" v) w2 i9 B, D$ F. ^
keep if ddy240>=0. K8 r9 h% n9 [
( y* s3 g8 M" P5 n
count! f3 h" b: F J
" G$ u: U- q7 Q if r(N)>2 {$ q$ k8 x& f. t. t- I) Q4 K
+ o& g& ]- n9 }6 q! T | pkexamine dx240 dy240
3 Y* k* e& F% \4 _ Q # p. v R; X- `9 p
local tempmaxp=r(tomc) . U3 x+ d& O' y4 N
restore
3 [, {7 }; V! q2 V9 E& e1 ]3 P }( F0 |* h5 `% a" y
* ~( E. o/ S! @4 {* T) u
% F8 c$ H# @; z2 ?5 F else {& B4 f/ y5 R3 N y
restore - t' ~" u0 A" y( Y# Z4 `; N9 Y
di "cannot find maxp"! ]: F" u _; k b1 t5 ~% R0 h
+ j- C0 ^- F+ @1 Q$ q' Z
) W) o; L3 F/ |1 V1 o
sum dx240
3 l% l% d2 C$ v- Y" {9 j. q) N local tempmaxp=r(mean)
; x& F( A" `- C7 K; T
# a0 k& p$ B1 Z* f+ m }8 z& w$ ]6 [# c8 O4 |2 S
: e* f/ w) V, b% A* F }3 K& l4 h8 u/ Z1 w" v5 V! m. E
* n, N' j" Z9 Z
else {
! b) y X6 z5 \% z% H' f6 V- K 7 {( P3 _ V% A, ?4 T( m+ L
keep if ddy240>=r(max)" p% Q8 z$ e3 k; O4 Q7 {+ B
, S9 T: Y/ i2 w6 d0 `( l W sum dx240! J; r( G c4 }, y
9 H& P I' l( }3 i
local tempmaxp=r(max)
" K* B2 x% H' r( P restore
0 E) r7 R: m7 @' X2 o0 N( X }
2 w. B" _8 u& W2 K/ ~2 \8 e/ j
/ [- h" ?$ ]2 a/ c, ~
: g% t5 _( r5 A8 B1 ?
* N9 I" p2 @; u
* y; p& n& Y. L) q gen maxp=`tempmaxp' in 14 h8 S8 S: s2 J3 B
2 q# F# R) D* x, ?1 Y! M+ @5 w *240maxp# x8 ^" r0 j. g: V/ G! P
. V6 m& f' P. j. T' }6 e+ y y
2 ^* H! Y3 `* L *-------------ddy240pminp左侧高峰值-----
& M' A6 l( X# b4 q7 j
5 [; E; a' g8 D5 t preserve ! i! C. C+ y4 N4 G0 n3 z* I
# T' }/ |2 N N
keep if dx240<`tempminp'
2 ]6 M0 |+ ~, d1 a2 B$ G7 U
- F* d4 j7 o) }* B- B keep if ddy240>0$ d% E* |: k8 E; U
# y( P; q1 D; g' x5 W
count) d% ?8 |$ ]. J, ^+ y3 v' l
' \$ G2 g! @, u, {7 j7 j% f) Y
if r(N)>2 {
* y- H3 X1 S# _& I/ j
+ @' Q( \& h5 u) x, R pkexamine dx240 ddy240
/ F, U. o8 \) r8 I7 _8 C1 F
8 i, }. F+ A5 ^; q local tempminphddy240=r(tomc)
' _, l1 r: v( O$ E restore
9 j) k, J+ L- l) h; E3 a3 |7 g }6 a% G2 T2 l9 w% n" S! i* f6 H
* S* Q9 e" `7 ]6 L$ d& y
else {
" z7 d+ k! u7 j3 i4 f restore ' q5 G0 r; ~ F: V! H6 K" ^
di "cannot find pminphddy240"
2 a% u5 G5 [" l3 c& j* x9 E# l( A1 v
9 H9 b8 [+ y. P0 x5 j! p 8 A0 t6 w4 u' H6 W- J- I
sum dx240, D! O8 t E# Z$ N
local tempminphddy240=r(mean) % [. W" B% a- O/ N
1 |) _9 [: W) M4 o$ ]' H
2 L% e: C3 u% k }# O" j: L2 h6 n
1 z' K6 c( {6 p2 @ 5 m; M0 n1 `2 ]
" H! t1 f' y6 D) K% N. L2 Q 2 M/ r6 {9 N; U0 P9 Z9 d* Q$ m
1 `/ b$ g! l4 \4 `! g1 E) X 3 J6 b& p' j; \/ H# A4 U
gen pminphddy240=`tempminphddy240' in 1
- n6 S( ~8 w% ]8 |+ z8 P ( }6 x& e6 }# C7 ?4 e/ w
& ?9 f- r/ l; \) A* X
*-------------ddy240pminp右侧低峰值 -----------------
9 q! l6 |+ r- H( P% Z; f preserve
9 z7 ~2 w3 f" t8 k( ^9 S
9 u0 c B/ k7 f1 y/ U keep if dx240>`tempminp'& \6 M7 s- B$ Q- J- p. y
& X0 o1 \/ C9 U; E) K1 K$ B
keep if dx240<`tempmaxp'. T6 ?- p# a2 g; t
1 N4 \0 c; X0 B6 q5 R keep if ddy240<0
% R0 e! I1 P- e2 ~' Y7 x8 O
' N# Z% \$ k3 S% y' V gen temddy240=-ddy240/ T2 i2 u+ s1 q" |; o) [
# x* T- j6 T) U8 I( i7 U3 b: D) L9 i
count: K( Q" d1 }8 j( N) m! [9 D
$ y7 G" E7 t# w& l- J8 S. {8 m if r(N)>2 {
; i/ L5 M$ V, R3 P" t
# w, V' d' J! c pkexamine dx240 temddy240
9 `; X/ ~6 }. C$ B5 d j) z
8 u. I* S! i' \5 X X4 q) F$ h( k local tempminplddy240=r(tomc)5 b7 I; k6 e3 e! i
restore0 J$ _6 P6 }+ R7 r, ]
}1 C3 W6 ?- s0 F
: [; R3 `2 `+ ` else {# e2 m, w7 {* M2 [- U: Y5 x$ W
9 E' @& J' u. `4 o9 ~* E di "cannot find pminplddy240"
0 d3 W6 z: N0 \/ H! c5 t- h restore
5 I4 r; T/ n& T* b8 Q2 y ! i4 z; ]# x8 _% q, y
sum dx240
; H. \8 b* B* F5 R5 P* z local tempminplddy240=r(mean)( {4 c4 Z4 f5 k. q
# b9 i$ S- |5 }. ?) V/ L' ~* a' L; ^% O
3 w% Z7 {( L8 Q+ W }
* H1 G9 S3 h6 Y" I8 P( @
: O$ H+ t/ a+ M7 X, W; n% b. U9 N8 v 4 Q6 \& w6 }% o- J! V, ^
# [/ T% {, u+ q2 F" P( K
l' C% H6 H5 J! j* @: H - o6 C/ A" H& X
gen pminplddy240=`tempminplddy240' in 1. Q) k' d- X" B2 r/ L
# R0 ^! D* E; _4 P4 b* |& a *-------------ddy240pmaxp左侧高峰值 -------------------
! B5 J- c& ]. N4 q7 { 2 R m1 k8 U3 z5 G4 Z* A
preserve - K( N5 }/ B$ g8 d% L! {/ \# a
2 E$ x& l/ c( k8 F+ p
keep if dx240>`tempminp'
- J' V/ p2 G8 I" ^* k! { % _, C. v2 k/ i; L2 Q- W/ F
keep if dx240<`tempmaxp'$ }9 e) X; Y6 S8 P# h; L. y
3 Z. ~$ M: T- `9 ~7 @- G keep if ddy240>0
" \2 p9 z! M8 k* m; Z count: g( `" V; U9 |9 x8 X
0 J. U9 j& s* [/ N! P1 D
if r(N)>2 {
& y X6 W6 a. X/ x: @
& Y' `; e- I. v7 t6 v9 J pkexamine dx240 ddy240* P+ r" R" W# a
$ p4 _! [2 I$ P( P3 Z. z( S. p local tempmaxphddy240=r(tomc)
$ G+ B) K6 K2 X# J( E$ @) l + D- P$ [( L, m5 z
restore, O0 t' {% J2 b) s7 l: K
}
: h+ m+ f9 v% M4 _; j- E& Q
! O; U" }- s7 L: N+ j+ y" q9 `) ]8 R else {( V) _) m3 N7 G& v* i! m3 F
4 I# ?: I+ H5 A
di "cannot find pmaxphddy240"6 I9 x- `+ O- w; p& c
restore
, W% ~1 D9 b( p9 n
6 s4 O$ z, ?3 i+ s sum dx240
8 D# a( X( q. h; ?" t. N& X3 p2 o local tempmaxphddy240=r(mean)
( @, M* U0 V5 T4 d! F7 q ! F. r6 L' q y3 }+ L
- ?6 X7 a( @9 D# e
}9 M; J. p4 E, g4 U
, b! b: P& H/ {- s) |
/ W5 w+ `3 J7 h% v4 B
# O! o) Y5 p; |& l: x( y) c+ j
/ b+ F: m' X; H. o" r" q
x) d: ?& L( q' V 5 k7 d: {- j9 m5 A6 g
gen pmaxphddy240=`tempmaxphddy240' in 1" g/ E$ Q% @4 _+ z Z) ?/ L' D* |) Y- Y9 |
' j: J2 [! z) v9 u- N1 `
' e, r7 u+ N, _ *-------------ddy240pmaxp右侧低峰值 -------------------
2 E d3 u4 \' } / w {4 z3 Q9 S7 A5 _
preserve ) F5 @/ h8 y% Z2 ?: n
: {$ j* l9 Q( L! {, Y) U+ J) u keep if dx240>`tempmaxp'
4 Q' y4 E- ?; `+ X0 x+ ~( g, F
, d6 N; q& r% W# m5 b gen temddy240=-ddy240
9 I3 C( A. n% [ 2 G. e$ M: [: u# F: v$ W: ~ B0 j( I0 _
keep if temddy240>04 B# Q4 b2 }) \% _" m# r. D
+ Y! T5 w$ v* E6 g count O `; J6 Z; H! \; K
- C' C; ~9 f7 w& }2 O0 ~* ` if r(N)>2 {
9 {8 u5 G0 ]7 U- [ 0 ~ ~( o0 p; t# I
pkexamine dx240 temddy240
9 ^% j) S& h9 ]$ \$ V3 z
% ^) ?+ ~3 B2 \! L local tempmaxplddy240=r(tomc)
4 @4 Z, x6 `1 r2 ?/ x1 s, D; A restore
( j6 T% f+ a2 V% F8 \' y }( b2 O, v$ G! B. @' e, R p9 v
7 e" e6 c+ E! O) l" g$ ?( S0 P else {3 A+ ^+ f+ ^: j! C" Y" c! V
restore/ x0 \0 R# c# z, {1 [
di "cannot find pmaxlhddy240"
$ K0 U- r; X% B7 M; X
8 H1 F9 \% ]6 Q . I1 s% w% ~# Z# T- ~
sum dx240
* g: Y+ x+ T3 V+ X/ O1 \ local tempmaxplddy240=r(mean) in 1; D1 _! A0 ?* H# }% R( l$ m
% I; R, l3 [; ]+ D & z* p( R8 [: r+ Z0 g4 p
}
2 @7 J% U3 P% {4 O0 }- z
) [) N. P/ M* m8 ~' P 5 w, k2 k: S; Q: R+ s% Z
9 B: i1 F0 p0 O ' A4 K! @& a2 d" ]& F
2 V9 `, O3 ^) C# L
' Z0 l, p5 D2 x% V gen pmaxplddy240=`tempmaxphddy240' in 1
2 R& x5 t; x$ X# u* C7 k' W
& A# a% C" ]% f *-------------------------------------; s' F7 s9 d/ }$ E# h3 [: a- b
7 E N6 I0 Q4 ?2 Q
gen price5d=v5 in 1/20
' D' F6 z j4 q O
; i2 P5 |: G9 M gen price5yy=_n in 1/20
6 e. {- E& _9 @! q- P( t: | 8 m' q: P' P3 J5 Z$ W
gen price5y=price5yy*(dy240max-dy240min)/20
" u3 L9 D, G4 Z/ U+ H! {0 V8 Z : {! R0 ?% m3 S) n2 g. Y( C
*price5y &price5d
' N& S8 N. w L% l
! ^/ g0 l+ a) J4 ] gen priceny=price5y in 1
' P" I* [: t' L# V+ W3 ] r
/ ?% [& s1 J* ]" @! R gen pricen=v5 in 1
* a4 x: B2 D. G; f
& z: r& } k/ D7 c8 f( ~9 }
9 b" A9 X6 P1 p7 s) o& H) Q, B *priceny &pricen8 M l& k* ]2 x( |. z0 b3 B0 m
" K% @( d# t- g" t3 q
6 ^& O( P' t5 v" _. M, B4 u
*-------------------------graph------------------
6 `+ F; q) x6 {' P, a) Z' a 1 N- }* l; p5 k) ~6 T" Z
tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)) E9 d+ g! w0 ^4 ^' d
, Q, e% H) r5 |* q9 L- a
* ---------可选项目----------------------, u% R" c0 b( c+ L1 e c$ M6 s6 v
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))" V" ?- d& G4 t; d( [: U
}3 B. g6 E& n. ^$ ~' @+ V7 c3 x
end5 j$ r. N( B( [/ x
|
|