|
|
maodeng 发表于 2013-1-28 13:13 ![]()
4 \9 x3 N& D" p! t+ T( x0 M. ^. hello 300236+ M: o0 L/ v, p1 _. P
statement out of context
" [: J9 B: _! E, a x( a, w1 a9 Qr(119);
- O A/ n4 S: _- {2 {4 X' B* F抱歉,最近太忙了
, D+ Q: e; v6 E! E7 a- Z$ B5 p4 [: U U$ S* i9 t! H3 Z+ _6 O
300236 我用下面的程序试过,没问题' ]9 _0 z" Q( ~
$ x/ w K7 q' M
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试' f2 a+ y' F/ ~% \
. h! ]. z, P2 Ocapture program drop hello. p& j8 _( Q$ b% r
4 e5 `* a" H, u3 d) ^- e b5 ~program hello1 U- J9 [3 p( c, h) I M
! E& X b! s* \% T- J$ A& F
quietly {
, u: X- z- \: r9 Y% V2 P2 I- M: C" a: A3 i( I
clear' H) c2 r# p+ p4 @% {/ e: c2 c: t" A
& c+ {, @8 @! y% y: f2 e
cd D:\stock\test\source
- a% I7 t9 z% O6 [1 A5 b
" z! {- I+ a% ~2 w% {- l8 `6 X$ Jinsheet using `1'.txt( z: T+ C( L0 i, B2 Q- C
% y$ Q* ?# \+ _' q# z
keep if v5>0( J L4 f7 T( f J
) [% N6 u2 r3 C a, ~ gen vt=_n7 ^" p# S5 i H% W; G, o; h
0 [ D, U8 m6 Y8 d( k" E% T. T" e
tsset vt
, @% K! F: c9 C% k6 r ]* E; }. I, G+ \0 R# ]
gen zf=D1.v5
: }% W: L+ v; |" ~- W& D5 n8 ~( C7 o( ~0 M0 x& l' }7 y* D
gsort -v1
- I# g: X! Y1 t. _6 `, J6 b8 G/ Y- q& A+ {
gen avol=v7/v5
/ F6 V7 E4 l! m' Z
& H# J5 C1 b6 o F' L6 ?" h keep if avol>0
8 |+ D+ ]- c: `
# `$ ^! ? P$ Q( l drop vt
/ p0 P5 X0 `4 w9 x4 {4 e
( a( K& W& A) w1 c# ~ gen vt=_n
- U7 C: u1 H9 G0 ^3 i9 C$ f
. T0 V2 l5 W$ g8 Q tsset vt
8 A) p" i. U ]; b0 Z
; \0 d# J" ]. o* r. L% e% u+ _ sum v5 [aw =avol]! E. K$ U% Z+ D- R5 }# z% o
6 f3 z" T# k- y% }9 H
gen amean=r(mean) in 1
4 N# Z I9 p" y( ^ ) [* Q( W) `( S: g) p4 x1 \
* 总加权平均值 amean$ C* Q2 I2 F) M+ O/ u; q( c
/ V5 I1 p% s' ~" q" P+ r0 A# h
7 K! F# L5 w' |) t8 N1 A3 i
keep in 1/240
; k3 Z7 a4 b7 q! c2 ]: Y: Q4 ~" l3 r1 q/ \: F9 s
sum v5 [aw =avol]3 v# K9 ]2 g! X1 ]4 B
+ V. ^# O; k# q& ? q& w, v$ F6 N
gen mean240=r(mean) in 1
" x; q4 o2 }9 ]5 S ' r& O$ ? @" {, Q4 V
*240加权平均值 mean240
* _# `7 u; |* H 5 s+ s5 r( {. p; A2 Q0 }
set obs 500
( R$ e6 U9 Y; r( C1 G9 i - K: s! }7 @0 w# K
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
3 N z) q: o6 a
9 Y# W6 g, q& P( E) e0 U *240 kdensity(dx240 dy240)
" j+ J6 _( l8 q1 L; Z' P3 t, G/ C. |
1 Z8 S8 }: w3 K+ p0 x* b sum dy2401 C+ M3 w2 s) |3 e2 d6 \4 V
' j+ S; n; a7 L& W3 I2 ?2 S
gen yxis=r(max) in 1
7 V' X6 L$ a+ o( L5 e- W, C ) d; y O0 q' m: }3 Y `$ {
gen yxis2=yxis/2" [5 m# R9 ^3 t( A) S, @
! {7 {5 K' q& z" p' X *yxis2 [ E' z2 b9 M- W" J# e" c
" _9 }7 n) @! O/ v& T# F/ X
gen dy240max=r(max)
! h; ^& T5 e# B2 S. c
" X, G8 e2 K% B* o- M" F4 S gen dy240minp=r(min)1 t' v+ l) P6 Q4 Z
9 z+ G X9 A# J5 F
gen vtt=_n( |8 F! s+ {2 _/ C
! r, G* L0 u4 T tsset vtt6 w) S. V; a; \
- d$ w; I2 l0 p gen ddy240=D1.dy240/D1.dx240
/ f, B$ v- x: B% F
4 y& u( @8 `' e5 o% G1 _ sum ddy2404 K2 V7 d p; n- c
Y$ { b3 D, r2 p% U) z+ B, @
gen ddy240max=r(max)
/ S4 m0 ^% N: t% e, x7 Y
+ _8 Z% r" z6 p3 O* b: J9 v5 _ gen ddy240min=r(min)
, Z7 [* \$ m7 h2 Z4 W( s. S+ H + l. J$ I4 \, n3 T- h$ y
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)# _8 D9 M0 y5 }9 }+ V( |
2 j* `- v3 t. e1 P+ Y1 \5 `1 _ sum ddy240g+ d7 a' M; R4 u% D( X+ R# J
$ [* a6 x0 D5 F- l5 T' h( ]2 C
gen yxis3=r(min) in 12 {1 h4 r. X! ]2 }
5 ^8 i' A( W* ~, I gen yxis4=0 in 1
: v3 p, p( J. a$ u! A; D# \" D m5 f D3 }5 g3 `2 F
*ddy240g
1 I) r8 W, l2 a0 Q
% r% C. g, w. F. E0 u3 b
% U0 c5 Y% O# G( D preserve
( }, h# e2 M1 i# a8 S& z+ s " L6 Q [0 P7 y: w
sum v5 [aw =avol]1 R* N& |; c: w( P! O h3 G( ~
9 _: h, _1 u% o/ c5 n keep if dx240<r(mean)
5 A6 g- V' L" f& ~" e
' {% b* \5 ?8 q3 O- z* ^ sum ddy240
3 l$ k7 T$ v$ j0 }" J7 m
- K5 I, h2 j$ B# y" _( y if r(min)<0 {
& c+ b* F6 C. p& s9 \) d9 n) H
' Y' e1 D" h% m- g- {0 x0 o$ V0 f1 N keep if ddy240<=09 A; O+ N& c. c
& W/ S9 Y0 t/ [3 _& E& A
count8 M& g* Y; n4 P
- W' W4 F8 E. I2 u, u if r(N)>2 {
/ q2 \' k7 X* Z; u- k, y9 R , B3 J g$ k0 a- X
pkexamine dx240 dy240& \+ f( `9 n$ } O A7 T9 \* R
& { L6 z8 I7 _4 Z2 r+ U local tempminp=r(tomc)% C* y( Y! w- c! m
restore . b+ v1 W. x D8 ^: E
}3 c$ O/ M) R- M: [& C
9 V0 y3 c( W# h# |- Y/ O
else {% e5 i8 {6 W# R; a, L" t
( T& _" c$ ]; n& Q* @% r& ] di "cannot find minp"% Y9 f( d# _% C; d- [1 k
' v4 ?! ~' m* ]/ ~& b8 E
restore
0 v0 k) B+ y* s. N: s! j! s sum dx240
8 N% [9 c" m1 R2 j local tempminp=r(mean)
$ \' c, F4 \% |) Y7 }" a- C . O4 N& C8 K t7 Y+ [% `6 I9 j% P
}
% h# S' B6 G R& D* | } a1 Q- @& R! E+ [" m0 O4 F
else {' ?0 o3 r" h& N# V3 Y
6 _2 r4 y* i+ n3 ]) Z
keep if ddy240<=r(min)
9 r( U5 u% |$ [/ }2 Q 1 ]: z+ W0 L5 r0 Q0 u& x8 h
sum dx240
, e+ q4 n" r/ @, K/ I+ @
" ^9 e) ~# A3 P h8 { local tempminp=r(min)
4 O9 {) ^3 ~4 R+ ]+ c% S5 ~5 o restore 2 G. T. L, O7 e. u- P t0 b
}
. ]7 k7 `" h6 H" d+ |' F7 b. t
+ [- f& b# Z2 y/ k/ x* z# R! T, A- E6 Q7 x k
1 Z% g1 D S$ w" F gen minp=`tempminp' in 1% E$ P5 n5 q! m& R: Q( x
*240 minp
6 A8 K! k' g8 L) R1 c' E0 e" O \3 a5 O/ Q6 }
4 |, d, j" {+ u' u" G( a, l
^2 Z5 S: V; c% _: C8 O! G- | preserve
+ k7 E( s3 s* [( O, _7 H 6 U$ G8 z7 X7 }4 r+ h# k2 D6 y7 K
sum v5 [aw =avol]
8 B9 g3 s: @- F1 s9 d" B( [0 w- Q
& m8 [: |# a3 S$ G: N keep if dx240>r(mean)" Q7 O8 p8 w/ Q- {0 g: r: l& B
& a; ^0 r4 H. v& @3 t+ h, q6 X
sum ddy240, ]5 t* T9 Y, u. c9 M& Z, |$ j
i2 V- R( k8 K V$ S. t1 z$ L if r(max)>0 {
5 A I0 [ d; D& b' p, a& d ; d9 T M3 s: G- {; x$ [5 J9 _
keep if ddy240>=0
5 d* s* }' Z, ]6 F# z
9 a; u% G! j( y- b! o5 N4 |* b count5 O+ G9 R! O$ F4 R- t8 l7 S& A& {
y* E* w' c8 J if r(N)>2 {
2 |! ]( {& k; Z' W
: L. S' D2 D Q pkexamine dx240 dy240, g( X* o" `( B$ f
4 j& a3 |1 q/ U3 _5 e1 ~+ s3 x local tempmaxp=r(tomc)
! n6 [) C- ^" P& [+ w7 S1 J/ R restore / A# t, w9 G2 d9 p- \; o' q
}: d2 E. D( K/ G& G. t
& h% A- ~% u7 B$ Q. }
6 ]1 }" B" ?; E) G4 b8 B$ G else {8 ]( B* X0 E6 A# P& ?; a
restore ' h" g. h1 y3 V" v# h
di "cannot find maxp"
' }% K5 M2 k- w# E; C1 P9 l
2 v% q1 t/ N- K# `" T* Z3 q, _
( g% G K7 [9 T6 b+ c sum dx240
( p f" e8 q+ ?+ i: I% ~5 G; k. c local tempmaxp=r(mean)1 o1 e7 s# F# ]
) |9 Q' v7 R$ M% _2 W& d$ H/ c }( ^- E' U I# J l
3 C* F- z3 R$ H }
S+ y2 z8 E6 v , a( z" a: n" `
else {% A& d4 e5 r& k3 l$ t0 }+ f
) b% e; r) A8 f# ` keep if ddy240>=r(max), x. i3 M; c( `4 i$ Q% b+ o% D; s. \2 I
' t; a; S9 h c' ]+ p9 X sum dx240" Q+ y3 @. ^1 a1 [8 q; l" w
) C% k+ s2 A& e4 G$ F j! P
local tempmaxp=r(max) # O. P+ F5 Z j/ z
restore 5 \7 a2 C9 ]8 h8 o- ^
}
6 X7 @( @$ [' s! U. a " Z0 K J% V* A) N, G
5 X# p" n2 p4 D0 P ! ]# a8 |8 Z3 ?
$ \3 S$ J$ N' \. F7 t) F/ E gen maxp=`tempmaxp' in 1, U) g2 d G# ?6 H3 p
$ Z; F }" [7 s! C+ v6 e$ g- p) z
*240maxp
& Z7 X0 j% B. y2 ` F
& R8 j+ I# t5 ?3 Y! F# M
/ \: P& }2 O" _/ C: o6 ~ *-------------ddy240pminp左侧高峰值-----" i; r/ `. g& n% @, Q( Q U- N
, o6 d5 T1 w2 D8 x/ |9 ~+ y
preserve
5 J, x1 R7 Z, e' I3 ?/ @& b8 h
; \. {- p" d9 g keep if dx240<`tempminp'& t* F3 y, A( w( b* k& C
$ C0 j. H, M1 o* ^0 @ t
keep if ddy240>0
& u( b1 y' _8 m4 y$ v4 U8 F5 m , f+ m# n/ {3 n8 Z
count
6 F# p5 A4 V. ]0 v
- E% y) s$ X, z8 U4 D7 X* {* ^8 J if r(N)>2 {
4 \! R. D" @$ M% a R! d 8 A! z% ]4 z8 g3 d; u
pkexamine dx240 ddy240' L. R# Y# ]* i% B
" h& I- m1 a6 T! C
local tempminphddy240=r(tomc) " p$ |. ~6 }" ]; ]# d( Q7 t
restore3 P4 A7 |1 K5 A
}( E0 q# n3 E8 o, r9 i
; J: `$ p }; L1 P
else {" F& B' n. F/ v
restore
3 a, E/ A3 C: `) E/ K di "cannot find pminphddy240"
6 a: A4 S, y/ G& {$ A
. a* A& [/ E$ y6 v$ @4 J5 s 0 U* N2 d3 E9 \/ ^
sum dx2405 z1 ^; c) W7 X( u9 ]
local tempminphddy240=r(mean) ! v: a+ ]6 L/ L: f. ]; Y
4 {% B: O6 o8 l+ \% l& |* m
" `% R6 X2 y1 V& |& ]7 T7 D7 r
}9 K+ f% g7 W/ y) G7 \+ J; v n
' X$ ^. M: t: d' G4 K 2 x. g' I9 L' q" U7 a, Z( l
4 S& V e$ y; D, l/ Q- e9 Z
9 j! P& T7 R2 W+ d # @! a" G9 H* R$ n: j
8 U4 `& B/ N _% _8 ?) J
gen pminphddy240=`tempminphddy240' in 1
( n M, ~. H$ U0 p0 M0 g: X6 ? 9 O: \7 m+ i5 ~2 {- r. l
% [! p# S" z. _ V6 c *-------------ddy240pminp右侧低峰值 -----------------
, w$ u* O! M+ k- i preserve
5 X6 `: } p* ]5 a9 ^3 k 9 R! r( ~9 Z1 ~# [7 ]4 W( V
keep if dx240>`tempminp'
# |: v7 `* A* ~& f: A- j * a/ U* F( T- ]7 |8 i! ]4 R9 g6 _- _
keep if dx240<`tempmaxp'8 w& B3 Q" @: w
/ h# i( v* m2 E/ {- j keep if ddy240<05 T1 ?0 k# j! }
! p" ?! O' ^( [2 T6 ]: ~- J
gen temddy240=-ddy240
! [7 l3 b! k7 G& Z3 X
) x1 [0 p1 X) f/ A count; e: _7 n8 o* c& D: {
1 k. x( g I; s" {
if r(N)>2 {
) @4 H: W! y0 Y) S Q4 E
/ I8 p$ s3 `1 Q5 m pkexamine dx240 temddy240: A& ?6 b% G: M$ E s
6 u( i. m3 `; n8 a$ o. G local tempminplddy240=r(tomc): F8 O H8 f- ^4 ?
restore
; C3 Q& L6 o% j5 T( _ }+ R$ X. g% X2 Q& W7 o, [# ^% b
! S2 `7 j3 j6 d2 D
else {3 P9 A5 K/ Q7 F) \' i
: L6 P5 N' c+ C: g/ j0 B" b) t di "cannot find pminplddy240"
5 G: @& v. n; o6 M& O; ` restore
0 x6 ]* N+ c$ [4 n; Q* C; Y
& V7 S$ I& ~1 g: O4 H sum dx240
8 R& i0 P) X- t# G$ B# E& _ local tempminplddy240=r(mean)
4 i( q* i1 ?% q / i, c4 z6 w$ A; I
+ G+ } u) a' S5 N0 v }& z! o% B/ T$ D0 @+ o4 ~
0 h( R/ c# W: L& \
2 c8 p F2 J% Y7 ~9 ~
; {# d! r* L9 V' e . s2 ?9 N0 b" j$ J6 W; ^2 u
4 O$ G( e7 w$ B' [/ y; j
gen pminplddy240=`tempminplddy240' in 1, f, l! w. N0 S/ K8 [1 p
; {( t; n9 S0 D. T0 Q+ I* ` *-------------ddy240pmaxp左侧高峰值 -------------------
, N7 Q& E3 L8 f0 Q8 x, G
6 N' c }* d: i4 Y* D preserve % r2 l5 w4 Q1 ]0 U
9 j/ S+ B0 [2 c) z8 E$ N$ k8 v
keep if dx240>`tempminp'
5 {. o& W2 g) d# n' L . |& M" f+ ]4 Y1 q: `
keep if dx240<`tempmaxp'
, Y2 R# k. @. B/ x* ^
# q* j' f2 w( k7 V3 b& d keep if ddy240>0
! ?( R8 D' E% \- @3 [3 S count
/ K3 Y# r3 i# i- M* c ; ]! m+ k" `9 c% \* D. H, j! S
if r(N)>2 {) Q' H/ c: |; S0 x
9 L9 {1 X3 I& R2 O0 a! u( Z pkexamine dx240 ddy240, Q, l! c' {9 }3 ]3 y
4 X, e7 V# C0 V! h) X local tempmaxphddy240=r(tomc) ) r( t; Y) a! G6 S8 d
0 w* O( b- M S5 U5 H, o D) S restore* n; a, m. F8 T" y( i
}9 I3 s, d4 [9 r
z: r" K U& ~6 R% Q7 z else {
8 ~& y% q" N" w; e; F; `" U
2 j/ E/ J. w! c# Q; g/ \" z di "cannot find pmaxphddy240"* {& _! B8 V6 h
restore5 |! u" s4 b# C9 L. G6 J
/ |9 J2 {% J& l" V n! @* i: c
sum dx240
0 Q9 Q% ~3 I A* l; _# T8 ? local tempmaxphddy240=r(mean)
$ H) C2 c) p' `& I
. e! E3 n5 T+ m8 `4 K0 d
( v3 Y# E9 W8 |0 u3 ~ }7 G9 x6 ?3 M5 h. s9 i
0 u! p& k3 i `
7 z6 b9 \7 g7 p4 q) m8 d6 Q
% V$ _; @) T6 }4 k: ^) P% o
' S0 K' k1 t7 `6 I' s' ? ( X( q3 y' z! {3 V
; b0 W% @7 k5 c
gen pmaxphddy240=`tempmaxphddy240' in 1
2 V+ x1 D& r) o7 t! ^* Y* o - D* S3 v: u0 c W, ?+ B; h
) N6 M M0 z6 e( F4 t *-------------ddy240pmaxp右侧低峰值 -------------------# ?; W, k0 _, a! I+ [8 i1 A- q1 N1 c
" p) Y% B2 s: @ preserve , j* i! ?1 e9 N
- P N V( k( ~4 Q9 C& [! k
keep if dx240>`tempmaxp'
8 ^0 w- m) H% D: } A $ ~# H' o1 w, g! @( M! _: V0 V: i
gen temddy240=-ddy2407 ^3 M7 [& O: Z; `% ?
K- P2 S. Y, l7 y9 s- r
keep if temddy240>0
1 x( A2 }; i5 Q" W+ F" a
- F9 e, y0 q1 V# z count) C5 ]! @' ^( G0 q" [
/ t8 Z- _/ |1 h* D& x U if r(N)>2 {7 U3 k. U" |' W: k- {: k
5 w z Z/ e* R% s0 Y7 ?$ F3 H
pkexamine dx240 temddy240
. O+ C+ X+ N, x( G% R * a u- @1 k( @; P7 r- ^8 J
local tempmaxplddy240=r(tomc)
! N( W8 f% J1 e3 C1 o3 q; _( l2 v restore" I ?( I# Z$ s/ M _, @
}6 h% G3 l2 e6 l6 D) p, G
' P+ T4 R; N% _+ u
else {
* V9 ~& E1 l; @9 Z0 d* y" U restore
) q# O' @ _: @* G6 } di "cannot find pmaxlhddy240"
, P0 I7 H7 L( p 2 n% ?1 f0 y s) @
. y$ M5 q0 }0 X4 Q) ^: V3 ~ sum dx240
z3 [: t3 Q1 I, B+ K2 e local tempmaxplddy240=r(mean) in 13 f5 \, [2 N* M
2 a" J. z# z; o- ^( f
P0 f6 U; g3 d }: y# t' d; `5 }* ~! w
: K$ p$ w3 p! q3 N4 G
* G- z5 I! ?" v ]. d, i
9 J. ?, \1 F% L: b
( ?; w& Y9 M7 ^& {! R+ q : A9 O7 ^* n* Q, V" d" u5 q. y
4 e% m/ u5 z; w" W) [
gen pmaxplddy240=`tempmaxphddy240' in 1
5 k7 P7 b; t f. U( ]( U 4 G; m9 X( p1 y5 R& Q1 d
*-------------------------------------
3 N* m. O' ~; K3 q
2 f" k A; r* g2 L$ K' S gen price5d=v5 in 1/20
' q* q+ a: P4 Y4 n5 p6 D: s 4 D; w) @. @8 _9 E! M8 y& C
gen price5yy=_n in 1/20
/ ~* J6 L- V* U+ X
# O6 ~, h" V5 e4 o9 m; X gen price5y=price5yy*(dy240max-dy240min)/20* z. r+ |4 N; x2 w
; A3 F9 O, @ A$ ^
*price5y &price5d
" w1 s0 a- |2 g& |8 d # t3 h% U# f- `0 P- `4 a0 ~
gen priceny=price5y in 1
5 j3 g& l6 x, [9 h4 e 8 m! ~; _2 m t; _, `
gen pricen=v5 in 1
2 J+ Y2 C- I% D4 c3 G2 M- c! f8 o0 x6 q
" R+ k8 A* q+ T' T4 m6 ~; C( j *priceny &pricen
) D/ c7 h8 n6 Q% f# A6 d
9 ?* H% D, R) k2 O # z5 l- n; `- N; [ y* {7 ?
*-------------------------graph------------------# U+ a' _5 a. T+ G$ D
, \9 K. q/ y8 P* I6 b
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)
$ s1 r+ z) |5 F
$ H$ u' x- ?' O- T" ~: Z* ---------可选项目----------------------1 I3 n. J9 z! p9 A. G( ?+ R% o
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))6 k! s% L' n( m5 o
}
7 x7 b, _$ P" z( }* y) E$ send+ k- D, O/ } L% l5 O# h+ f4 U; ~
|
|